System and Method for Monitoring Trades Outside of a No-Bust Range in an Electronic Trading System

ABSTRACT

An alert system that notifies an Exchange&#39;s staff of a trade appearing to be outside an expected market range of prices includes determination logic which derives, based on data received from an input device, a theoretical no-bust range of prices, i.e. prices above and below a synthesized market price, within which an erroneous trade cannot be cancelled. Evaluation logic monitors trades and compares them to the theoretical no-bust range of prices. Alert logic notifies the Exchange&#39;s staff when the evaluation logic identifies a potentially erroneous trade that lies outside the theoretical no-bust range of prices. A method of notifying the Exchange of a trade that potentially lies outside of an expected range of prices includes monitoring an input range of prices, deriving the theoretical no-bust range of prices, comparing transactions prices to the theoretical no-bust range of prices and notifying the Exchange when a potentially erroneous trade can be cancelled.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation under 37 C.F.R. §1.53(b) of U.S.patent application Ser. No. 12/248,629, filed Oct. 9, 2008, which is acontinuation of U.S. patent application Ser. No. 10/405,025, filed Mar.28, 2003, which is incorporated by reference.

FIELD OF THE INVENTION

This invention relates to a system and a method that monitorinvestments, and more particularly, to a system and a method thatmonitor trades outside of a theoretical no-bust range in an electronictrading system.

BACKGROUND

The speed and efficiency through which investments can be executedthrough electronic trading systems provide many benefits. In manymarkets, Electronic Exchanges facilitate a greater number of marketparticipants than do other Trading Exchanges. The greater the number ofmarket participants, the greater the market's liquidity. In liquidmarkets, prices are driven down by competition; prices reflect aconsensus of what an investment is worth; and the trading systemsprovide a free and open dissemination of information.

While speed and efficiency of many electronic markets can enhance marketparticipant's wealth, these same qualities can increase the adverseaffect of a trade that is executed in error. Specifically, ordersexecuted at prices substantially away from a market price can causeother market participants both in their markets and in related marketsto make unsound decisions. In a futures market, for example, a buyer'slarge order executed at a price much higher than a prevailing marketprice can cause other sellers to substantially raise their prices,ultimately, pricing some buyers out of that market and leading toexecuted transactions that result in substantial losses for otherbuyers. In futures markets these errors can induce buyers and sellers inthat market, in a related derivative market, and/or in an underlyingcash market to make unsound decisions. The harmful effect of anerroneous trade can extend well beyond the market participants of thattrade by affecting the integrity of the entire market and other markets.Furthermore, undetected erroneous trades may have a lasting impact onhistorical price information and various technical charting strategiesused by market participants.

To mitigate these harmful effects, some Exchanges have adopted policiesand procedures that, in appropriate cases, permit the cancellation of aclearly erroneous trade. Some of these Exchanges attempt a promptresolution of a trade error by establishing a narrow timeframe withinwhich a party may request that a trade be cancelled. To assure that onlyerroneous trades that may significantly affect other market participantsare the only trades subject to cancellation, some Exchanges adopted a“no-bust range.” In a “no-bust range,” erroneous trades executed withina price range may not be subject to cancellation, even if executed inerror to avoid penalizing the innocent traders that lack notice.Unfortunately, the “no-bust range” can be susceptible to subjectivity asExchanges are not always able to define an “erroneous price.”

Although many policies and procedures are intended to enhance theintegrity of markets, some are not agile enough to respond to the manyerrors that an Electronic Exchange encounters. The increasing use ofautomated arbitrage systems, for example, allow some market participantsto benefit from erroneous prices. Such failures penalize counterpartiesto those trades, and create risk and uncertainty by artificiallyinfluencing the value of those trades. Some approaches do not scale wellto large networks, new products, or the large volatility that occurs inthose markets that trade popular contracts. These approaches can requirerepeated modifications that increase price instability and distort pricediscovery.

SUMMARY

The present invention is defined by the following claims. Thisdescription summarizes some aspects of the present embodiments andshould not be used to limit the claims.

An alert system embodiment for notifying an Exchange staff of a tradethat appears to be outside of an expected market range of pricescomprises an input device, determination logic, and evaluation logic.The input device provides data used to generate a theoretical no-bustrange of prices. The determination logic derives the theoretical no-bustrange of prices within which an erroneous trade cannot be cancelled. Theevaluation logic monitors trades matched through an electronic matchingsystem and compares those trades to the theoretical no-bust range ofprices. The alert logic provides a notification when the evaluationlogic identifies a potentially erroneous trade that lies outside of thetheoretical no-bust range of prices.

A method of notifying an Exchange of a trade that potentially liesoutside of the expected range of prices comprises monitoring an inputrange of prices; deriving a theoretical no-bust range of prices;monitoring transactions executed by an automated matching system;comparing the prices of the transactions to the theoretical no-bustrange of prices to determine if a potentially erroneous trade can becancelled; and notifying an Exchange when one or more of the prices of atransaction lies outside of the theoretical no-bust range of prices.

Further aspects and advantages of the invention are described below inconjunction with the present embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system view of an alert embodiment.

FIG. 2 is a second system view of an alternative alert embodiment.

FIG. 3 is a system view of a trade evaluation system of FIG. 2.

FIG. 4 is a flow diagram of an embodiment of an alert method.

FIG. 5 is a continuation of the flow diagram of FIG. 4 illustratingadditional optional acts.

FIG. 6 is a functional diagram of an alternative alert embodiment.

FIG. 7 is a flow diagram of a trade limit opening method.

FIG. 8 are flow diagrams of trade limit operational methods.

FIG. 9 is a continuation of the trade limit operational methods of FIG.8.

FIG. 10 is a flow diagram of a trade limit closing method.

FIG. 11 are flow diagrams of a trade limit restart, a constant value,and file name methods.

FIG. 12 is a flow diagram of an error routine method.

FIG. 13 is a flow diagram of a trade limit method.

DETAILED DESCRIPTION OF THE DRAWINGS AND PRESENTLY PREFERRED EMBODIMENTS

The present embodiments of the system and method provide Exchanges andusers with a flexible approach and structure that minimize the harmfuleffects of selected trades executed in error. While the presentembodiments are not used to rectify all market errors, the system andmethod can intervene by automatically identifying a trade that wouldappear to be outside of an expected, a predicted, or a prevailing marketrange of prices. A price that is not consistent with the history of acontract, is not consistent with the history of an underlying commodity,is not consistent with the price of a highly correlated investment, oris not consistent with, or bears no relationship to, a fair market valuemay be identified. In some embodiments, a program may analyze trades.Because some market participants are not always aware of trades theyexecute in error, some embodiments identify errors before marketparticipants discover them.

FIG. 1 is a system diagram of a present alert embodiment. FIG. 1illustrates a hub-and-spoke relationship, wherein each resource,application, or order flows through a single entity (e.g., the hub 110)before being received by servers 102-108. In this embodiment, the hub110 and the servers 102-108 can each comprise a single server or aserver cluster that comprise a group of independent computers that worktogether as a single system but present the appearance of a singleserver to one or more clients. In FIG. 1, the clients are illustrated asa workstation 114, interfaces 120-126, and one or more networks such asa wide area network (“WAN”), a local area network (“LAN”), a ringnetwork, a token ring network, a bus network, 128 and 130, etc. Otherperipheral devices can be coupled to the workstation 114, such as aprinter 112, a speaker 116, a light source 132, and/or any other devicethat converts electrical signals into sound, light, and/or tactileforces that are perceptible to the sense of touch, etc.

Preferably, the hub 110 comprises a management server. Preferably, themanagement server electronically receives, converts, and transfers datain a form compatible with protocols used by the servers 102-108, theworkstation 114, the communication link 118, the interfaces 120-126, andthe networks 128 and 130. The interfaces can include an applicationprogramming interface (an “API”) 124, a data interface 122, a marketdata interface 120, and/or other interfaces 126, for example.Preferably, the market data interface 120 provides quote vendors withaccess to selected output disseminated from the hub 110.

In this embodiment, the hub 110 also provides routing control to a tradematching system, such as an automated trading engine shown as servers104 and 106. When orders are matched automatically by a matchingalgorithm or system within one or both of the servers 104 and/or 106,preferably the details of the trade and information of interest to themarket are returned to a trade evaluation system, the quote vendors, andthe trade participants. Preferably, the trade participants include thebuyers and the sellers.

Preferably, the trade evaluation system, shown as a server 102 in FIG.1, interfaces the hub 110. In one embodiment, the trade evaluationsystem includes a first processor or determination logic that interpretsand assesses pricing data, a memory that stores and retrieves data, andevaluation logic that can comprises a second processor or relies on thecomputing power of the first processor. Preferably, the evaluation logicis suitable for calculating a discrete variable that represents asynthetic or theoretical market price and an interval that extends aboveand below the synthetic market price. Preferably, the interval ortheoretical no-bust range is fixed within a number of ticks above andbelow the synthetic market price and can differ with each contract.

When the present system and method is used in a futures Exchange, thetheoretical no-bust range comprises a price interval within whichtransactions that fall within that interval are not subject tocancellation by the Exchange. Preferably, trades that fall within thetheoretical no-bust range do not have a significant adverse effect onthe market, and therefore, the trade stands in the Exchange even inerror. Certainly, in some embodiments and Exchanges, trades that fallwithin the theoretical no-bust range can be cancelled by agreementbetween the market participants, but that can require all marketparticipants to that trade to reach agreement. In other embodiments andExchanges, the trades that fall within the theoretical no-bust rangecannot be cancelled by agreement.

Preferably, the other interfaces 126, the APIs 124, the market datainterfaces 122, the data interfaces 122, the networks 128 and 130. etc.,provide market participants, quote vendors, and others with real and/ordelayed time access to trade data. The trade data can include investmentprices such as futures contract prices, settlement prices, bids, offers,and other Exchange related or derived information. In some embodiments,inter-process communication methods, such as a Dynamic Data Exchange(“DDE”) and/or an Object Linking and Embedding (“OLE”) are used toexchange data and commands between two or more servers or applicationsthat are running simultaneously.

As shown in FIG. 2, the alert embodiment includes input devices 204-208,a trade evaluation system 202, user interfaces 212 and 214, and acontrol center 216. Preferably, the input devices include devices thatprovide quotes 204 and 206 and other data 208 to the trade evaluationsystem 202. Such data can include separate, bid, offer, and tradeprices, the daily cash settlement prices, pre-defined and/or monthlymoving averages, etc. Other Exchange data can include the official highbid and low offer prices for contract through a variable or definedinterval, real-time or delayed option volatilities, moving averagesettlement prices, open interest data, provisional and final exchangerates, position reports, etc. Preferably, the quote and data devices204-208 provide the data that the trade evaluation system 202 needs togenerate a synthetic market price. Preferably, the synthetic marketprice reflects a calculated worth or a consensus value of a commodity oranother financial instrument at predetermined times in the past orfuture.

Preferably, the trade evaluation system 202 derives a synthetic marketprice and theoretical no-bust ranges through a sequence of steps. Thesesteps can vary by the types of instruments (e.g., product, service,etc.), the types of commodities (a long list of products that includesfinancial instruments and currency), the markets, the pricing of relatedproducts, the histories of the commodity, and/or other circumstances ordata surrounding or related to a contract or an investment.

In this embodiment, the cash market, which is the actual or spot market,is where the commodities themselves are bought and sold. The cash priceis the actual price of the physical commodity; a futures price is theprice of a contract in a futures market. Although cash and futuresprices are not the same, in some instances the prices have a tendency toparallel each other. As the expiration date of a futures contractapproaches, for example, preferably the separation between the twoprices, the basis, converge. Because of this strong relationship inprices, in some instances, the trade evaluation system 202 can execute acorrelation analysis to predict a forward or a regressive syntheticmarket price and a theoretical no-bust range in the futures market basedon the cash market prices.

Similarly, a strong relationship can exist between commodities traded inan automatic matching system and the commodities traded in a physicalexchange. At the Chicago Mercantile Exchange (“CME”), for example,futures trading of the Standard and Poor's 500 Stock Price Index (“S&P500®”), are sold by contract in the trading pits through live, openoutcry trading. A smaller version of this contract, the E-mini Standardand Poor's 500 futures (“E-mini S&P 500®”) is sold electronicallythrough the Chicago Mercantile Exchange's (“CME's”) GLOBEX® tradingsystem. Due to the relatively high correlation between these twomarkets, in some instance, the trade evaluation system 202 can alsoexecute a correlation analysis or use inference logic to predict aforward or a regressive futures price and/or a theoretical no bust rangeof the E-mini S&P 500® based on the S&P 500® futures traded in the pits.In this instance, historical prices tracked from the trading floor canbe used to determine the synthetic market price and a theoreticalno-bust range for a contact traded in an automated Exchange.

Similarly, highly correlated products traded separately or in a commonvenue can also be used by the trade evaluation system 202 to predict themarket price of a commodity at a time in the future or the past. Forinstance, the E-mini NASDAQ-100® traded at the Chicago MercantileExchange (“CME”), which is about one fifth of the size of the NASDAQIndex (“National Association of Securities Dealers Automated QuotationSystem Index”), can also be used to predict a forward and/or aregressive futures price and a theoretical no-bust range for anotherindex. If a strong relationship exists between the E-mini NASDAQ-100®and an illiquid equity stock index, for example, the trade evaluationsystem 202 can use inference logic or a prediction algorithm to predicta forward or a regressive synthetic price and a theoretical no-bustrange for the illiquid equity stock index without relying on aprevailing market price that may not reflect the actual state of themarketplace.

As shown in FIG. 2, the trade matching system 210 couples the userinterfaces 212 and 214 to the trade evaluation system 202. Preferably,the trade matching system uses one or more matching algorithms, such asa “first in, first out” (“FIFO”), an allocation algorithm, a hybridprice/time priority, such as a Lead Market Maker (“LMM”), etc., forexample, to automatically match orders. Once the details of the ordersare entered through the user interfaces 212 and 214, preferably, thetrade matching system 210 executes the trade and transmits matched tradedata (e.g., instrument type, the price, the quantity, the buyer, theseller, etc.) to the trade evaluation system 202 and user interfaces 212and 214. The trade matching system 210 also transmits matched trade dataand quote data to the quote and data vendors 204-208. Preferably, thematched trade data and quote data describe the most recent movements ofthe markets.

Through the Control Center 216, preferably the Exchange or members ofthe Exchange oversee the cancellation of potential trading errors.Preferably, the identification of a potential erroneous trade occurs ina narrow time frame as does the Exchange's or member's decision whetherto cancel such a trade. To assure that market participants are awarethat an erroneous trade may be cancelled, preferably, the tradeevaluation system 202 provides a prompt notice to the user interfaces212 and 214, the control center 216, and any independent communicationsystems. In some instances, the embodiment of FIG. 2 provides automaticnotices only to the control center 216, allowing the Exchange to notifymarket participants of such a trade through a messaging system.

Because market participants may not be aware that an erroneous tradeoccurred due to the large volume of messages sent over an electronictrading system or because the market participants are no longer trading,the present system and method also can encompass independentcommunication systems that are coupled to the trade evaluation system202 to convey warnings/alerts that a trade may be cancelled. Suchsystems can include devices that send and/or receive messages viatelecommunication or wireless links such as portable phones, personaldigital assistants (“PDAs”), and/or electronic mail devices, devicesthat send and/or receive images and can print them on a tangible mediasuch as faxes, etc. Preferably, these systems make market participantsaware of a possible erroneous trade in a narrow timeframe.

Once a potential erroneous trade has been identified and been found tohave been traded outside of the theoretical no-bust range, the tradeevaluation system 202 alerts the control center 216. Preferably, thecontrol center 216 attempts to resolve the error through the Exchange'spolicies and procedures. At the Chicago Mercantile Exchange (“CME”), forexample, if all parties to a trade agree to cancel a trade, and no thirdparty notifies the GLOBEX® Control Center within a narrow timeframe, thetrade will be cancelled by the GLOBEX® Control Center. If a party to thetrade cannot be contacted or does not agree to cancel a trade, theGLOBEX® Control Center will initiate an investigation, examine theunderlying circumstances of the trade, and make a decision whether tocancel the trade. If the erroneous trade is cancelled, the GLOBEX®Control Center can then consider canceling contingent and other ordersexecuted as a result of the erroneous trade.

Preferably, the system and method automatically identifies a potentialerroneous trade through the trade evaluation system 202. One embodimentof the trade evaluation system 202 is shown in FIG. 3. In thisembodiment, the trade evaluation system 202 includes determination logic302 that can comprise a first processor that interprets and assessespricing data, memory 306 resident to or separate from the determinationlogic 302 that stores data for retrieval, and evaluation logic 304 thatcan comprise a second processor or relies on the computing power of thedetermination logic 302. Preferably, the evaluation logic 304 issuitable for calculating a synthetic market price and an interval thatextends above and below the synthetic market price. Preferably, theinterval or theoretical no-bust range is fixed within a number of ticksabove and below the synthetic market price but can differ with eachcontract.

Preferably, the determination logic 302 determines or calculates thesynthetic market price based at least in part upon the data provided bythe quote 204 and 206 and/or the data devices 208. When the data isreceived by the trade evaluation system 202 some of it is processed bythe determination logic 302 and can be stored in a non-volatile orvolatile memory 306. Preferably, the determination logic 302 calculatesthe synthetic market prices and theoretical no-bust ranges upon demand,in delayed-time, or in real-time as an investment ticks, meaning as aprice moves. Preferably the synthetic market prices, and in someembodiments, the theoretical no-bust ranges are stored in memory 306. Bystoring one or both of these values, the present system and method canrecreate a theoretical market in a substantially narrow time frame. Thestorage of one or both of these values can preserve market integrity byminimizing the possibility of canceling a trade well after it has beenexecuted.

Preferably, the evaluation logic 304 compares the trade prices receivedfrom the trade matching system 210 to the synthesized no-bust range.While in some embodiments price comparisons can occur in delayed orbatch time, preferably, the comparison occurs in real-time which iswithin a narrow time period after a trade has occurred. If the price ofthe trade is within the theoretical no-bust range, the trade will standand no further action will be taken. If the price of the trade fallsoutside of the theoretical no-bust range, preferably, the evaluationlogic 304 enables the alert logic 308. In this embodiment, the alertlogic 308 can comprise a third processor or can rely on the computingpower of the evaluation logic 304 and/or the determination logic 302.

Once a potential erroneous trade has been found to lie outside of thetheoretical no-bust range, preferably the alert logic 308 enables analarm in the control center 216. In alternative embodiments, the alarmalso can be used to notify market participants. In one embodiment,different alarms are used to indicate different events. In a first mode,the type, or the frequency, or the loudness of a sound, or thebrightness, or the frequency (e.g., a strobe), or the color of a visualalarm, or the frequency, or the intensity of a tactile pressure (e.g., avibration) or other indicia (collectively and individually referred toas a “warning” hereinafter) may identify the data source or the type ofdata used to predict the synthetic market price and/or the theoreticalno-bust range. For instance, a warning may identify a potentialerroneous trade that lies outside the theoretical no-bust range when theno-bust range is based on electronic Exchange data. A second warning mayindicate that the theoretical no-bust range was based on electronicexchange and live, open outcry trading data. A third warning mayindicate that the theoretical no-bust range was based on the actual cashor spot market.

In a second mode, the warning may identify the product that was traded.In a futures market, for example, different products may generatedifferent warnings. If the present embodiment were used at the ChicagoMercantile Exchange (“CME”), for example, a first warning may identifypotential erroneous trades of the E-mini S&P 500®, a second or differentwarning may identify a potential erroneous trade of the E-miniNASDAQ-100®, and a third or different warning may identify a potentialerroneous trade of another product, etc.

In a third mode, the warning may indicate the degree of separationbetween the price of a potential erroneous trade and the theoreticalno-bust range or the synthesized market price. In an audible embodiment,for example, the intensity or frequency of the sound may indicate thedegree of separation between the price of the potential erroneous tradeand the theoretical no-bust range. Many other alternative embodimentsare also possible. For instance, the intensity or frequency of a warningmay indicate the level of experience of a market participant (e.g., anew market participant may have a louder or a brighter or a morepowerful warning); the intensity or frequency of the warning mayindicate the frequency that a market participant submits orders inerror, executes erroneous trades, cancels trades, or distinguishes amarket participant in any other way. In alternative embodiments, anycombination or variation of warnings/alerts from the first, second, andthird modes are used.

As shown in FIG. 4, the present alert method begins detecting potentialerroneous trades at acts 400-404. At acts 400-404 the present alertmethod receives quotes and data manually or automatically. At acts, 402and 404 the alert method receives real-time and/or delayed-time marketinformation from an Exchange or an on-line data service or a dataprovider, or etc. Preferably, a communication method or technology isused that allows multiple programs that are running separately tosimultaneously exchange data and commands.

At act 406, a correlation analysis, inference logic, and/or a predictionalgorithm are used to predict a forward and/or regressive syntheticmarket price based at least in part on data received from one or more ofthe Exchange, an on-line data service, a manual data service, or anotherdata provider. As shown by the multiple process boxes, one or moreprocesses can be used to derive a forward and/or regressive syntheticmarket price. When more than one process is used, multiple syntheticmarket prices can be used to determine one or more theoretical no-bustranges.

At act 408, the theoretical no-bust ranges are derived. Preferably, oneor more theoretical no-bust range are used to determine if a warningshould issue. While the theoretical no-bust range is a fixed number ofticks above or below the synthetic market prices in the presentembodiment, in alternative embodiments the range comprises a fluid rangethat can vary within or by the market. In one embodiment, the upper andlower limits of the theoretical no bust range are symmetrical about thesynthetic market price; in another embodiment, the separation betweenthe upper and lower limits of the theoretical no-bust range to thesynthetic market price are not equal.

At act 410, a memory stores one or more synthetic market prices,variance(s) used to predict the theoretical no-bust range(s), and theno-bust range(s). Because requests to cancel a trade can also be made tothe Exchange well after the trade is executed, by storing one or more ofthese values, the present method can re-create the theoretical no-bustrange, and preferably allow the Exchange to reach a decision whether tocancel a trade in a narrow time frame.

At act 414, the memory stores the details of the potentially erroneoustrade that are received automatically from the trade matching system 210or through a request to cancel a trade made by a market participant atact 412. Preferably, the details of the potentially erroneous tradefacilitate the decision making process. In this embodiment, thosedetails are in a protocol or can be converted to a protocol that allowsthe trade evaluation system 202 to determine if the potential erroneoustrade lies outside the theoretical no-bust range at act 416.

If the trade evaluation system 202 determines that the price of thepotentially erroneous trade lies outside the theoretical no-bust range,the trade evaluation system issues a warning to the control center 216at act 418, and in some embodiments, to the markets to assure thatmarket participants are aware that a potentially erroneous trade may becancelled. Because not all market participants may have access tomessages sent over the Exchange, alternative methods encompasscommunication systems that can forward alerts to market participants.

If an investigation is needed, at act 420, the Exchange or an automatedsystem initiates an investigation to determine if the trade should becancelled. An investigation may be needed if, for example, a party to atrade cannot be contacted, or does not agree to the cancellation of anorder, or a third party objects to the cancellation of a trade. In thoseinstances, the Exchange or the automated system, such as an expertsystem, will analyze the underlying circumstances of the trade anddecide whether to cancel it.

If the price of a transaction lies within the theoretical no-bust rangeat act 416; or, when a decision whether to cancel a trade is reached,the present method ends at act 422. If the trade is to be cancelled, inone futures embodiment, the trade is taken out of the price stream,market participants are notified, and preferably the trade is alsocancelled in the Exchange's clearinghouse.

In those alternative methods using multiple media types to make thecontrol center 216 and/or the market participants aware that a trade maybe cancelled, some alternative embodiments sort the warnings once thetrade evaluation system 202 determines that the potential erroneoustrade lies outside of the theoretical no-bust range as shown in FIG. 5.

Once the warnings are sorted at act 502, preferably the warnings arelinked to a media at act 504. Preferably, at act 418, the warningsissue. Independent communication systems may forward the warnings to themarket participants using any communication method or system, includinga computer, a speaker, a telephone, or another device. Upon the issuanceof the notice, preferably, an investigation is commenced at act 420.

FIG. 6 is a functional diagram of an alternative alert embodiment. FIG.6 illustrates a computer 602 in a hub-and-spoke relationship, whereindetails of trades, information of interest to the market, and price,time, trade activity, flows through a single entity, the computer 602before the computer 602 issues alerts or displays trades that exceedtheoretical thresholds on a monitor 604. In this embodiment, theapplications shown within the computer 602 can be server-basedapplications that comprise a program stored on a network that can beused by more than one client machine at a time. While specific sourcesof software and data sources are shown in FIGS. 6-12, the embodimentsencompasses other software, data, and sources. Preferably, the softwarecan organize data through relationships or formulas, store informationto facilitate searches, and in some embodiments, execute programs.

As shown in FIG. 7, a present trade limit opening method can be used togenerate an application used to monitor trades and organize data usingvarious spreadsheet cells and database fields. Preferably, formulas canestablish relationships between selected cells, and in databases,fields.

At act 702, the present trade opening method opens a file containing anumber of related worksheets (a/k/a “a workbook”). Upon its opening, thepresent trade opening method calls and runs the routines shown in acts704-718.

At act 704, the cleaning method commences. Preferably, the present tradeopening method closes any extra viewing windows, removes any databoarders, and resets window sizes. Preferably, the method then clearsthe columns and rows that comprise the worksheet(s), and saves theworksheet(s) in a memory.

At act 706, an array building method identifies the initial month of acontract and builds an array based on that initial month. In a futuresExchange, commodity contracts open and close at different timethroughout the year. Based on date comparisons, act 706 synthesizes thecontract dates through interprocess communication formulas such asDynamic Data Exchange (“DDE”) formulas programmed within the cells ofthe worksheet.

At act 708, a database management system opens an existing file orcreates a new file. Preferably, the database management system storesinformation in tables and can conduct searches on data stored in rowsand columns. Preferably, a record of transactions or activities, such asa “Log Table,” is maintained in the existing or new file.

The present trade opening method continues by defining the end of dayand a re-cycle time method at optional act 710. If an Exchange elects todefine these parameters, the Exchange enters a time that closes out themonitoring method and a time to re-install the method. When operational,the re-cycle time establishes times or launches a timer that re-startsthe opening procedure at a measured time interval. In some embodiments,a re-cycle time can be used to overcome a bug or a deficiency insoftware that causes the software to stall in a wait state, runs forextended periods of times, or fail for another reason. In otherembodiments, the re-cycle time can build an archive in programmedincrements.

At act 714, the present trade opening method performs an update. When aninput disseminates a new price or a change in price for a specificcommodity, for example, the array build act analyzes the new pricechange to determine if the price lies outside of a theoretical no-bustrange. If the trade limits of the theoretical no bust range areexceeded, a warning issues and details of the trade, such as a time,price, and trader identities are recorded in the appropriate cell(s)within a worksheet log and/or in one or more selected fields of adatabase log.

When the details of the trade are recorded in the worksheet and/or thedatabase log, preferably the present trade opening method formats thedata, sets the window size, and opens the appropriate window. In thepresent embodiment, the details of the trade are recorded in filesentitled “Exceed Limit Log” and “Error Log.”

At optional act 718, a cursor is placed in one of the cells or fieldsthat exceeded the theoretical no-bust range. Thus, when used in aFutures Exchange, the present opening method identified the commoditiesbeing traded, the contract dates, price changes, and made comparisons toa theoretical no-bust range, and when prices lied outside thetheoretical no-bust range, issued warnings. Potentially erroneous tradeswere flagged in a tangible and/or a digital media.

In the present trade opening method, the operational method continuesuntil the method ends by closing a file. Preferably, the price updatesoccur when there is movement in the market, meaning when there is achange in an on-line price. In this embodiment, details of the arraybuild act are further described by the acts of FIG. 8.

When a price update is received from a quote or data vendor at act 802,preferably, the update method 800 examines the new price to determine ifthat price exceeds the theoretical no-bust range. Preferably, the priceupdates selected price and time data in the worksheet cells and/or thedatabase fields at act 804. If the theoretical no-bust range isexceeded, preferably an Exchange control center is notified by a warningIn an audio embodiment, for example, the array building act issues awarning by selecting an audio file such as a “WAV” file. A “WAV” file isa file format used in a windows operating environment that stores sound.Preferably, the update method 800 updates the “Exceed Trade Limit Logs”with details of the possible erroneous trade in worksheet cells and/ordatabase fields at act 806. Preferably, the update method is coordinatedto a time. Preferably, the time is a precise timekeeping signal, such asa clock signal that the present method receives from an atomic clock.

As further shown in FIG. 8, a system time input or time check at act 810can be used to re-calculate a synthetic market price and a theoreticalno-bust range at pre-determined intervals. In the illustrated method,the synthetic market price and a theoretical no-bust range is calculatedin a five or ten minute interval. Preferably, the time is recorded in adatabase log that can be used in self-diagnostic routines. For example,if the exemplary time check act 810 does not poll an external timingsource at an expected interval, the time check act 810 can record theerror in worksheet cells and/or database fields. Once recorded, the timecheck act 810 can re-start the trade limit opening method by calling are-start method shown in FIG. 11.

Preferably, the recycle time operational act 812 shown in FIG. 8 canalso restart the trade limit opening method by calling the re-startmethod act 1102 of FIG. 11. When operational, the re-cycle time act 812establishes a time or launches a timer that re-starts the openingmethod. In the illustrated embodiment, a re-start is programmed to occurat the exemplary Exchange defined time of one second past midnight.Preferably, the trade limit opening method records the restart time in aworksheet cell and/or database field.

The present trade opening method preferably ends automatically or upondemand. An unexpected occurrence or situation, for example, may requirean operator to call an “end of the trading day” through a manual orsoftware actuated means (e.g., a push button, switch, etc.). If the endof the trading day is called by an operator, occurs because of thenatural close of the trading day, or occurs for any other reason, theend of day act 902 shown in FIG. 9 saves the log sheet in a memory.

In the illustrated embodiment, the “Exceed Limit Log” and the “ErrorLog” are saved in a memory. Preferably, the “Exceed Limit Log” includesthe details of the potentially erroneous trades identified by the tradeopening method; while the “Error Log” records the performance of thetrade opening method. If there is a deficiency in the functionality ofthe acts or the program that can be in response to an unforeseenoperating condition, for example, a record of those activities arepreferably recorded within the “Error Log.” Preferably, the end of dayprocess shown in FIG. 9 launches the methods shown in acts 1004 and 1006of FIG. 10 and acts 704-718 of FIG. 7. Once the files are saved, acts1004 and 1006 of the trade closing method are executed before launchingthe trade opening method acts 704-718 shown in FIG. 7.

When the trade opening method is to be closed at act 1002, preferablythe trade closing method launches the routines shown in acts 1004-1012.At act 1004, the present trade closing method begins. Preferably, thetrade closing method reset the timers or programs used to define the endof the trading day and the re-cycle time method shown in FIG. 8.

At act 1006, the system time input or time check act 810 shown in FIG. 8is terminated. Preferably, the stopping of the time change timer stopsthe polling of an external time source that occurs at predetermined orprogrammed intervals.

At act 1008, the cleaning method commences. Preferably, the tradeclosing method closes any extra viewing windows, removes any databoarders, and resets window sizes. Preferably, the method then clearsthe columns and rows that comprise the worksheet(s), and saves theworksheet(s) in a memory.

At act 1010, the trading method continues by saving and then closing theopen database files and recording the process start time. Preferably,the closing process act clears the pointers and references within thedatabase fields. In the present embodiment, this reset or initializationis illustrated in FIG. 10 by setting the database references to“nothing,” a null character.

At act 1012 the workbooks are closed and the process ends until it isrestarted automatically or by a user's initiative.

FIG. 11 illustrates the trade opening method restart, the constantvalue, and the file name methods. Preferably, the trade opening methodre-start can be called by the time-check act 810 of FIG. 8, the re-cycletime act 812, or by an operator through a manual or software actuatedmeans (e.g., a push button, switch, etc.).

As shown in FIG. 1 the restart act records the process start time andprocesses a database file, entitled “Log Table.” Once processed, there-start act 1102 executes the stop on time act 1004 and stop timechange time act 1006 shown in FIG. 10, and then executes the cleanprocess act 704, the build worksheet data act 706, the new database fileact 708, the optional run on time act 710, the run time change timer act712, the array build act 714, the format sheet act 716, and the optionalact of final selected cells act 718 shown in FIG. 7. In the presentembodiment, the specific function, tasks, or routines of these acts aredescribed above.

When the present trade opening method programs constant values or namesa file the method launches a constant value method and a namesub-routine method, respectively. At act 1104, the constant value methodis programmed with static variable that can be used in the illustratedmethods of FIGS. 6-13. Similarly, act 1106 can use a current system,date, and time to derive and create workbook or spreadsheet names anddatabase file names. In the present embodiment, the act 1106 may becalled the end of day act 902 shown in FIG. 9, or the new database fileact 708 shown in FIG. 7.

When an error occurs, the present trade opening method launches an errormethod shown in FIG. 12. Preferably, the error act 1202 is a program,procedure, or function that checks for errors such as type mismatches,overflows and underflows, loss of connectivity, etc. In the presentembodiment, error detection instructions can be customized and executedby the trade limit opening method shown in FIG. 7, the operationalmethods shown in FIG. 8, and the closing methods shown in FIG. 9. Inalternative embodiments, the error act can comprise intelligent softwarethat uses rule-based adaptations to configure itself to operateoptimally to detect problems and generate reports or displays aboutthem.

Each of these methods, the opening, operational, and closing methods arealso shown in the flow diagram of an alternative alert embodimententitled a trade limit method shown in FIG. 13. In FIG. 13, the presenttrade limit method illustrates the opening method on the left-hand side,the operational method shown near the center and the closing method onthe right-hand side. Preferably, the dashed lines indicate the act thatare synchronized or rely on a system clock.

The present trade limit method begins with the trade limit openingmethod previously shown in FIG. 7. At act 702, the method opens a filecontaining a number of related worksheets (a/k/a “a workbook”). Upon itsopening, the present trade opening method calls and runs the routinesshown in acts 704-718.

At act 704, the cleaning method commences. Preferably, the present tradeopening method closes any extra viewing windows, removes any databoarders, and resets window sizes. Preferably, the method then clearsthe columns and rows that comprise the worksheet(s), and saves theworksheet(s) in a memory.

At act 706, an array building method identifies the initial month of acontract and builds an array based on that initial month. In a futuresExchange, commodity contracts open and close at different timethroughout the year. Based on date comparisons, act 706 synthesizes thecontract dates through interprocess communication formulas such asDynamic Data Exchange (“DDE”) formulas programmed within the cells ofthe worksheet.

At act 708, a database management system opens an existing file orcreates a new file. Preferably, the database management system storesinformation in tables and can conduct searches on data stored in rowsand columns. Preferably, a record of transactions or activities, such asa “Log Table,” is maintained in the existing or new file.

The present trade opening method continues by defining the end of dayand a re-cycle time method at optional act 710. If an Exchange elects todefine these parameters, the Exchange enters a time that closes out themonitoring method and a time to re-install the method. When operational,the re-cycle time establishes times or acts as a timer that re-startsthe opening procedure. In some embodiments, a re-cycle time can be usedto overcome a bug or a deficiency in software that is susceptible tocorruption when the software stalls in a wait state, runs for extendedperiods of times, or fails for another reason. In other embodiments, there-cycle time can build an archive in programmed increments.

At act 714, the present trade opening method performs an update. When aninput disseminates a new price or a change in price for a specificcommodity, for example, the array build act analyzes the new pricechange to determine if the price lies outside of a theoretical no-bustrange. If the trade limits of the theoretical no bust range areexceeded, a warning issues and details of the trade, such as a time,price, and trader identities are recorded in the appropriate cell(s)within a worksheet log and/or in one or more selected fields of adatabase log.

When the details of the trade are recorded in the worksheet and/or thedatabase log, preferably the present trade opening method formats thedata, sets the window size, and opens the appropriate Window. In thepresent embodiment, the details of the trade are recorded in filesentitled “Exceed Limit Log” and “Error Log.”

At optional act 718, a cursor is placed in one of the cells or fieldsthat exceeded the theoretical no-bust range. Thus, when used in aFutures Exchange, the present opening method identified the commoditiesbeing traded, the contract dates, price changes, and made comparisons toa theoretical no-bust range, and when prices lied outside thetheoretical no-bust range, issued warnings. Potentially erroneous tradeswere flagged in a tangible and/or a digital media.

When a price update is received from a quote or data vendor at act 802,preferably, the update method 800 examines the new price to determine ifthat price exceeds the theoretical no-bust range. Preferably, the priceupdates selected price and time data in the worksheet cells and/or thedatabase fields at act 804. If the theoretical no-bust range isexceeded, preferably an Exchange control center is notified by a warningIn an audio embodiment, for example, the array building act issues awarning by selecting an audio file such as a “WAV” file. Preferably, theupdate method 800 updates the exceed trade limit logs with details ofthe possible erroneous trade in worksheet cells and/or database fieldsat act 806. Preferably, the update method is coordinated to a time.Preferably, the time is a precise timekeeping signal, such as a clocksignal that the present method receives from an atomic clock.

As previously shown in FIG. 8, a system time input or time check at act810 can be used to re-calculate a synthetic market price and atheoretical no-bust range at pre-determined intervals. In theillustrated method, the synthetic market price and a theoretical no-bustrange is calculated in programmed time intervals. Preferably, the timeis recorded in a database log that can be used in self-diagnosticroutines. For example, if the exemplary time check act 810 does not pollan external timing source at an expected interval, the time check act810 can record the error in worksheet cells and/or database fields. Oncerecorded, the time check act 810 can re-start the trade limit openingmethod by calling a re-start method act 1102 shown in FIGS. 11 and 13.

When operational, the re-cycle time act 812 establishes a time orlaunches a timer that re-starts the opening method. In the illustratedembodiment, a re-start is programmed to occur at the exemplary Exchangedefined time of one second past midnight. Preferably, the trade limitopening method records the restart time in a worksheet cell and/ordatabase field.

The present trade opening method preferably ends automatically or upondemand. An unexpected occurrence or situation, for example, may requirean operator to call an “end of the trading day” through a manual orsoftware actuated means (e.g., a push button, switch, etc.). If the endof the trading day is called by an operator, the natural close of thetrading day, or for any other reason, the end of day act 902 saves thelog sheet in a memory.

In the illustrated embodiment, the “Exceed Limit Log” and the “ErrorLog” are saved to a memory. Preferably, the “Exceed Limit Log” includesthe details of the potentially erroneous trades identified by the tradeopening method; while the “Error Log” records the performance of thetrade opening method. If there is a deficiency in the functionality ofthe acts or the program that can be in response to an unforeseenoperating condition, for example, a record of those activities arepreferably recorded within the “Error Log.” Once the files are saved,the trade closing method shown in FIG. 10 is executed before launchingthe trade opening method shown in FIG. 7.

When the trade opening method is to be closed at act 1002, preferablythe trade closing method launches the routines shown in acts 1004-1012of FIG. 13.

At act 1004, the present trade closing method begins. Preferably, thetrade closing method reset the timers or programs used to define the endof the trading day and the re-cycle time method shown in FIGS. 8 and 13.

At act 1006, the system time input or time check act 810 shown in FIG.13 is terminated. Preferably, the stopping of the time change timerstops the polling of an external time source that occurs atpredetermined or programmed intervals.

At act 1008, the cleaning method commences. Preferably, the tradeclosing method closes any extra viewing windows, removes any databoarders, and resets window sizes. Preferably, the method then clearsthe columns and rows that comprise the worksheet(s), and saves theworksheet(s) in a memory.

At act 1010, the trading method continues by saving and then closing theopen database files and recording the process start time. Preferably,the closing process act clears the pointers and references within thedatabase fields. In the present embodiment, this reset or initializationis illustrated in FIG. 10 by setting the database references to“nothing,” a null character.

At act 1012 the workbooks are closed and the process ends until it isrestarted automatically or by a user's initiative. FIG. 13 furtherillustrates the trade opening method restart, the constant value, andthe file name methods. Preferably, the trade opening method re-start canbe called by the time-check act 810 of FIG. 13, the re-cycle time act812, or by an operator through a manual or software actuated means 1102(e.g., a push button, switch, etc.).

The present embodiments of the system and method described above provideExchanges and users with a flexible approach and structure that minimizethe harmful effects of selected trades executed in error. Preferably,the system and method can intervene by automatically identifying a tradethat would appear to be outside of an expected, a predicted, or aprevailing market range of prices. A price that is not consistent withthe history of a contract, is not consistent with the history of anunderlying commodity, is not consistent with the price of a highlycorrelated investment, or is not consistent with, or bears norelationship to, a fair market value can be identified. In someembodiments, a program may analyze trades and make Exchange controlcenters aware, and in some embodiments, market participants aware oftrades execute in error, before market participants discover them.

The above-described embodiments, scale well to large networks, newproducts, or the large volatility that occurs in the markets that tradepopular contracts. These embodiments do not require repeatedmodifications. Preferably, the above-described embodiments provide asafe harbor to the parties of an erroneous trade, in which the error isbased on the price at which the trade is made. The above describeembodiments describe the resolution of an erroneous trade the liesoutside of the theoretical no-bust range of prices. While the resolutioncan result in a decision to cancel that trade, in some alternativeembodiments, Exchanges may also sustain the trade but modify its terms.

Although the embodiments described above have primarily been explainedthrough a futures market, the invention also facilitates any exchangebetween buyers and sellers, including markets that exchange equities,debt, investment indices, and other investments as well as any commodityor combination or series of commodity contracts, such as bundles thatcan comprise the purchase of one of a series of consecutive contracts.Moreover, while it is understood that the embodiments of the inventionare directed to correcting errors in the price in which a contract orinvestment is traded, in some alternative embodiments, the theoreticalno-bust range may identify trades in which the error is based on thenumber of contracts traded.

While some embodiments of the invention have been described, it shouldbe apparent that many more embodiments and implementations are possibleand are within the scope of this invention. It is intended that theforegoing detailed description be regarded as illustrative rather thanlimiting, and that it be understood that it is the following claims,including all equivalents, that are intended to define the spirit andscope of this invention.

We claim:
 1. A computer implemented method for minimizing adverse effects of a trade executed in error, the method comprising: determining, by a processor, at least one characteristic indicative of an erroneous trade; monitoring, by the processor, a plurality of trades; automatically identifying, by the processor, any of the plurality of trades which comprises the at least one characteristic; and acting, by the processor, on any of the plurality of trades identified as comprising the at least one characteristic.
 2. The computer implemented method of claim 1 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of an expected range of prices.
 3. The computer implemented method of claim 1 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of a predicted range of prices.
 4. The computer implemented method of claim 1 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of a prevailing market range of prices.
 5. The computer implemented method of claim 1 wherein the each of the plurality of trades comprises a trade of a contract and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with historical trades of the contract being traded.
 6. The computer implemented method of claim 1 wherein the each of the plurality of trades comprises a trade of a contract for an underlying commodity and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with historical trades of the commodity underlying the contract being traded.
 7. The computer implemented method of claim 1 wherein the each of the plurality of trades comprises a trade of a contract for an underlying commodity and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with a highly correlated investment.
 8. The computer implemented method of claim 1 wherein the each of the plurality of trades comprises a trade of a contract and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with a fair market value of the contract being traded.
 9. The computer implemented method of claim 1 further comprising ignoring, by the processor, any of the identified plurality of trades which would not cause significant adverse effects.
 10. The computer implemented method of claim 9 wherein each of the plurality of trades is characterized by an associated price, the ignoring further comprising ignoring any of the identified trades whose associated price is within a defined price range.
 11. The computer implemented method of claim 10 further comprising calculating the defined price range wherein a trade having an associated price therein is ignored.
 12. The computer implemented method of claim 10 wherein the defined range is variable.
 13. The computer implemented method of claim 10 wherein the defined range is asymmetrical with respect to a synthetic market price.
 14. The computer implemented method of claim 1 wherein the acting further comprises cancelling the identified trades.
 15. The computer implemented method of claim 1 wherein the acting further comprises generating an alert based on the identified trades.
 16. A system which minimizes adverse effects of a trade executed in error, the system comprising: an evaluation logic comprising at least one processor operative to determine at least one characteristic indicative of an erroneous trade, monitor a plurality of trades, automatically identify any of the plurality of trades which comprises the at least one characteristic and act on any of the plurality of trades identified as comprising the at least one characteristic.
 17. The system of claim 16 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of an expected range of prices.
 18. The system of claim 16 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of a predicted range of prices.
 19. The system of claim 16 wherein the each of the plurality of trades is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being outside of a prevailing market range of prices.
 20. The system of claim 16 wherein the each of the plurality of trades comprises a trade of a contract and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with historical trades of the contract being traded.
 21. The system of claim 16 wherein the each of the plurality of trades comprises a trade of a contract for an underlying commodity and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with historical trades of the commodity underlying the contract being traded.
 22. The system of claim 16 wherein the each of the plurality of trades comprises a trade of a contract for an underlying commodity and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with a highly correlated investment.
 23. The system of claim 16 wherein the each of the plurality of trades comprises a trade of a contract and is characterized by an associated price, the at least one characteristic comprising an associated price of a trade being inconsistent with a fair market value of the contract being traded.
 24. The system of claim 16 wherein the evaluation logic is further operative to ignore any of the identified plurality of trades which would not cause significant adverse effects.
 25. The system of claim 24 wherein each of the plurality of trades is characterized by an associated price, the evaluation logic being further operative to ignore any of the identified trades whose associated price is within a defined price range.
 26. The system of claim 25 wherein the evaluation logic is further operative to calculate the defined price range wherein a trade having an associated price therein is ignored.
 27. The system of claim 25 wherein the defined range is variable.
 28. The system of claim 25 wherein the defined range is asymmetrical with respect to a synthetic market price.
 29. The system of claim 16 wherein the evaluation logic is further operative to cancel the identified trades.
 30. The system of claim 16 wherein the evaluation logic is further operative to generate an alert based on the identified trades.
 31. A system which minimizes adverse effects of a trade executed in error, the system comprising: means for determining at least one characteristic indicative of an erroneous trade; means for monitoring a plurality of trades; means for automatically identifying any of the plurality of trades which comprises the at least one characteristic; and means for acting on any of the plurality of trades identified as comprising the at least one characteristic.
 32. The system of claim 31 further comprising means for ignoring any of the identified plurality of trades which would not cause significant adverse effects.
 33. The system of claim 32 wherein each of the plurality of trades is characterized by an associated price, the means for ignoring further comprising means for ignoring any of the identified trades whose associated price is within a defined price range.
 34. The system of claim 33 further comprising means for calculating the defined price range wherein a trade having an associated price therein is ignored.
 35. The system of claim 33 wherein the defined range is variable.
 36. The system of claim 33 wherein the defined range is asymmetrical with respect to a synthetic market price.
 37. The system of claim 31 wherein the means for acting further comprises means for cancelling the identified trades.
 38. The system of claim 31 wherein the means for acting further comprises means for generating an alert based on the identified trades. 